package com.ctshk.rpc.season.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * @ClassName SeasonFixedReq
 * @Description: TODO
 * @Author 杨林
 * @Date 2021/3/12
 **/

@Data
@ApiModel(value = "SeasonFixedReq对象", description = "编辑固定套票产品信息req")
public class SeasonFixedReq extends SeasonFixedSetReq implements Serializable {

    @ApiModelProperty(value = "产品打包Id", required = true)
    @NotNull(message = "产品打包Id不能为空")
    private Long packageId;

    @ApiModelProperty(value = "产品编码")
    @NotNull(message = "产品编码不能为空")
    private String code;


    @ApiModelProperty(value = "产品名称")
    @NotNull(message = "产品名称不能为空")
    @Size(max = 50, message = "最大50字")
    private String productName;

    @ApiModelProperty(value = "出发城市id")
//    @NotNull(message = "出发城市id不能为空")
    private Long depCityId;

    @ApiModelProperty(value = "出发城市名称")
//    @NotNull(message = "出发城市名称不能为空")
    private String depCityName;

    @ApiModelProperty(value = "到达城市id")
//    @NotNull(message = "到达城市id不能为空")
    private Long arrCityId;

    @ApiModelProperty(value = "到达城市名称")
//    @NotNull(message = "到达城市名称不能为空")
    private String arrCityName;

    @ApiModelProperty(value = "产品副标题")
//    @Size(max = 200, message = "内容不能超过200字")
    private String subtitle;

    @ApiModelProperty(value = "负责人id")
//    @NotNull(message = "负责人id不能为空")
    private Long chargeUserId;


    @ApiModelProperty(value = "负责人名称")
//    @NotNull(message = "负责人名称不能为空")
    private String chargeUserName;

    @ApiModelProperty(value = "旅游组别")
//    @NotNull(message = "旅游组别不能为空")
    private String travelGroup;

    @ApiModelProperty(value = "旅游组别id")
//    @NotNull(message = "旅游组别id不能为空")
    private String travelGroupId;

    @ApiModelProperty(value = "种类")
//    @NotNull(message = "种类不能为空")
    private String kind;

    @ApiModelProperty(value = "行程天数")
//    @NotNull(message = "行程天数不为空")
//    @Pattern(regexp = "^[0-9]*$", message = "行程天数必须是数字")
    private String travelDays;

    @ApiModelProperty(value = "行程夜晚数")
//    @NotNull(message = "行程夜晚数不为空")
//    @Pattern(regexp = "^[0-9]*$", message = "行程夜晚数必须是数字")
    private String travelNights;


    @ApiModelProperty(value = "最小成行人数")
//    @NotNull(message = "最小成行人数不为空")
//    @Pattern(regexp = "^[0-9]*$", message = "最小成行人必须是数字")
    private String minPeopleNumber;

    @ApiModelProperty(value = "产品特色(多个逗号分隔)")
//    @NotNull(message = "产品特色不能为空")
    private String feature;


    @ApiModelProperty(value = "适用人群id")
//    @NotNull(message = "适用人群id不能为空")
    private Long applicableCrowdId;

    @ApiModelProperty(value = "适用人群名称")
//    @NotNull(message = "适用人群不能为空")
    private String applicableCrowdName;

    @ApiModelProperty(value = "产品主题,多个逗号分隔")
    private String theme;

    @ApiModelProperty(value = "产品主题名称,多个逗号分隔")
    private String themeName;

    @ApiModelProperty(value = "产品介绍图")
    // @NotNull(message = "产品介绍图不能为空")
    private String introducePicture;

    @ApiModelProperty(value = "介绍视频")
    private String introduceVideo;

    @ApiModelProperty(value = "产品介绍")
//    @NotNull(message = "产品介绍不能为空")
    private String introduce;


    @ApiModelProperty(value = "费用包含")
    private String includesFee;

    @ApiModelProperty(value = "预订须知")
    private String bookingInformation;

    @ApiModelProperty(value = "备注")
    private String remark;


}
